МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ”ЛЬВІВСЬКА ПОЛІТЕХНІКА ”
ІКТА
кафедра захисту інформації
ЗВІТ
до лабораторної роботи №3
з курсу:
Комп'ютерні методи дослідження інформаційних
процесів і систем
на тему:
“ ІТЕРАЦІЙНІ МЕТОДИ РОЗВ’ЯЗУВАННЯ СИСТЕМ
ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ ”
Варіант 11
Львів – 2010
Мета роботи – ознайомлення з ітераційними методами розв’язування систем лінійних алгебраїчних рівнянь.
Ітераційні методи розв’язування систем лінійних
алгебраїчних рівнянь
До ітераційних методів належать: метод простої ітерації, метод Зейделя, метод верхньої релаксації та інші.
Метод простої ітерації.
Нехай дано лінійну систему
(1)
Розглянемо матриці
Тоді систему (1) можна записати у вигляді матричного рівняння
(2)
Будемо вважати, що діагональні коефіцієнти (і = 1, 2,…, n).
Розв’яжемо перше рівняння системи (1) відносно , друге відносно і т.д. Тоді одержимо еквівалентну систему
(3)
де , при ; , при ;
; ;
Іноді кажуть, що система (3) зведена до нормального вигляду.
Введемо матриці ( та (
Систему (3) запишемо у вигляді
(4)
Систему (3) будемо розв’язувати методом послідовних наближень. За нульове наближення позначимо, наприклад, стовпчик вільних членів . Далі послідовно будуємо матриці-стовпці:
– перше наближення
– друге наближення і т.д.
Будь-яке (k + 1)-е наближення обчислюється за формулою:
, (k = 0, 1, 2, …) (5)
В розгорнутому вигляді .
Якщо послідовність наближень має границю
, (6)
то ця границя є розв’язком системи (3).
На практиці ітераційний процес припиняють, коли , де ( – гранична абсолютна похибка.
2. Завдання:
Розв’язати систему лінійних алгебраїчних рівнянь методом простої ітерації.
S = 0.2*k b = 0.2*p
k = 2 p = 1
3. Блок-схема алгоритму програми:
початок
f(x)
i=0;i<n
i++
ні
j=0;j<n ні
j++
так
i == j
так
A[i, j] := 0
A[i, j]:=f(x)
b[i]:=f(x)
i=0;i<n;
i++
ні
так
j=0;j<n; ні
j++
S:=S+f(x)
k = X[i];
X[i] = b[i] + S;
S = 0;
так
|X[i] – k|>E
i=0;i<n;
i++
ні
x[i]
кінець
f(x) = -a[i, j] / a[i, i]
f(x) = b[i] / a[i, i]
f(x) = A[i, j] * X[j]
Блок-схема алгоритму метода Main( ).
початок
I.Iterac()
кінець
5. Список ідентифікаторів констант, змінних, процедур і функцій, використаних в програмі:
i,j – змінні, що застосовуються в циклах для позначення рядків та
стовпців.
n – змінна, що містить розмір створеного масиву.
E – похибка обчислень.
S – змінна, що містить значення суми добутку коефіцієнтів і
початкових наближень елементів рядку.
I.Iterac()- функція, в якій відбувається виведення вихідної
системи на екран, знаходження допоміжних
коефіцієнтів, обчислення коренів системи рівнянь і
виведення їх на екран.
.
6. Остаточно відлагоджений текст програми згідно з отриманим завданням мовами С:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Cons...